L04: Běžné příkazy a činnosti

linux.edumach.cz



1. Co sem patří

Kromě výpisu obsahu adresářů a přechod mezi nimi je nezbytná další sada příkazů pro běžnou práci:

2. Konvence názvů souborů

Důležité poznámky:

Držte se zavedených konvencí a pro názvy souborů a adresářů.

Nikdy nepoužívejte:

Předejdete mnoha komplikacím -- hlavně sami sobě.

3. Příkaz mkdir

Make directories – vytvoří adresář v zadané cestě.

$ mkdir aaa  
$ mkdir /cesta/k/adresari/aaa  

S volbou -p vytvoří všechny adresáře v cestě (parents):

$ mkdir -p xxx/yyy/zzz  

Vyzkoušejte:

$ mkdir logy 
$ mkdir vykazy1 vykazy2 
$ mkdir -p sestavy/leden 
$ mkdir -p logy 

První příkaz vytvoří adresář logy. Druhý vytvoří dva adresáře vykazy1 a vykazy2 najednou. Třetí vytvoří adresář sestavy a v něm podadresář leden. Čtvrtý se pokusí vytvořit již existující adresář, ale -p nevypíše chybové hlášení:

Vypište si současný stav adresáře. Adresář leden ve výpisu nebude – je zanořený. Vypíšete jej takto:

$ ls sestavy 

4. Příkaz rmdir

Remove empty directories – odstraní adresář. Ten musí být prázdný.

$ rmdir skripty  

TIP: Hromadné smazání všech prázdných adresářů v zadané cestě provedete příkazem:

$ find . -type d -exec rmdir {} \;  

5. Příkaz cp

Příkaz cp (copy) slouží k vytvoření kopie souboru (adresáře). Obecná syntaxe je:

cp file_a file_b
cp soubor1 cesta
cp soubor1 cesta/file_b

6. Příkaz mv

Příkaz mv (move) slouží k přesouvání nebo přejmenování souborů (nebo adresářů). Jeho používání je velmi podobné příkazu cp.

7. Příkaz rm

Příkaz rm (remove) odstraní (smaže) soubor(y). ⚠️ Terminál nemá koš. Neexistuje způsob, jak soubor po smazání obnovit!

$ rm file                # jeden soubor 
$ rm file1 file2 file3   # více souborů naráz 
$ rm -i file             # potvrzení (y nebo n) 

8. Příkaz ln

Příkaz ln (link) je méně častým příkazem se specifickým významem. Připomíná "zástupce" z Windows, ale není to totéž. Zde je spíš jen pro úplnost a také proto, že se mohou objevit ve výpise adresáře, tak abyste rozuměli "co to je".

$ls -l /
total 60
lrwxrwxrwx   1 root root     7 Dec  7  2023 bin -> usr/bin
drwxr-xr-x   3 root root  4096 Sep  6 14:20 boot
drwxr-xr-x  18 root root  3360 Sep 26 19:59 dev
drwxr-xr-x  85 root root  4096 Oct 23 13:30 etc
drwxr-xr-x 204 root root  4096 Oct 23 13:30 home
lrwxrwxrwx   1 root root    30 Sep  6 14:19 initrd.img -> boot/initrd.img-6.1.0-25-amd64
lrwxrwxrwx   1 root root    30 Sep  6 14:19 initrd.img.old -> boot/initrd.img-6.1.0-23-amd64
lrwxrwxrwx   1 root root     7 Dec  7  2023 lib -> usr/lib
lrwxrwxrwx   1 root root     9 Dec  7  2023 lib64 -> usr/lib64
drwx------   2 root root 16384 Dec  7  2023 lost+found
...

Vytvářené odkazy mohou být buď:

$ ln -s /etc/apt/sources.list repo-symlink 
$ ln -s /cesta/k/souboru /cesta/odkaz 

💡 Všimněte si, že všechny výše uvedené operace: mkdir, rmdir, rm, cp, mv i ln lze provádět bez nutnosti se do daných adresářů přesouvat příkazem cd. V okenních systémech toto nelze.

9. 💾 Úkol

Zjistěte, které znaky jsou v Unixových systémech z nějakého důvodu "vyhrazené" a nejde je použít pro názvy souborů nebo adresářů. Jako množinu znaků uvažujte pouze základní sadu ASCII tabulky.